Conversation
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
| private static List<String> workflowMetadataPropertiesToRemove = [ | ||
| "sessionId", "name", //Already in workflowRun | ||
| "scriptFile", "scriptName", "scriptId", "repository", "commitId", "revision", "projectName", "manifest", //Already in workflow | ||
| "stats", "success" // End | ||
| ] |
There was a problem hiding this comment.
I think it would be preferable to keep as much as possible aligned to WorkflowMeta structure, in the same way as it's done in the tower client
we could consider removing repeated values in the parent object
There was a problem hiding this comment.
Not sure if I get your comment.
If I am not wrong, in TowerClient, the workflow is a plain map that contains everything that is in WorkflowMetadata, removing stats and adding other properties like the resolved config and params.
If we do the same and include everything as property of the WorkflowRun class, it will be very difficult to maintain, so I prefer to keep it inside the metadata property (or rename it to another name). If a new parameter is added in the WorkflowMetadata, it will also be added to the 'metadata' without any model update.
A small difference is the sessionId and name that are properties in WorkflowRun and they were also in the WorkflowMetadata map. I do not see a problem with keeping it in metadata and removing it from WorkflowRun. We can also add the resolved config if you think it is better.
The big difference is in the workflow and params. I think they are the parts that mainly describe the WorkflowRun, and, in the TowerClient, they are spread in a set of properties. In workflow, we already included the information that is in scriptFile, scriptName, scriptId, repository, commitId. I have just added other info (revision, projectName and manifest) that I think they are describing the workflow more than the execution. In fact, I think the workflow description could have a separate record, and LID and just have a reference in the WorkflowRun.
b4b321e to
069653d
Compare
d9fa5cd to
d752bc2
Compare
First approach to include information which is in the
WorkflowMetadataclass in Data lineage records.revision,projectNameandManifestto theWorkflowclassWorkflowrun.metadatafield to store other metadata defined atonFlowBegin(not null) and not used inWorkfloworWorkflowRunTODO: